package com.zmj.sy.mom.srv.aps.service.scheduler.schedule;

import com.zmj.sy.mom.srv.aps.bean.entity.order.ApsWorkOrder;
import com.zmj.sy.mom.srv.aps.service.scheduler.order.DefaultBom;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.time.Duration;
import java.time.LocalDateTime;
import java.util.List;

@Getter
@Setter
@ApiModel("BOM排程信息")
public class DefaultBomSchedule {

    @ApiModelProperty("BOM信息")
    private DefaultBom bom;

    @ApiModelProperty("BOM工序排程信息")
    private List<DefaultPhaseSchedule> phaseSchedules;

    @ApiModelProperty("BOM排程开始时间，该批次物料首道工序开始时间")
    private LocalDateTime planStartDateTime;

    @ApiModelProperty("BOM排程结束时间，该批次物料最后一道工序结束时间")
    private LocalDateTime planEndDateTime;

    @ApiModelProperty("BOM排程总执行时间")
    private Duration executeTime;

    @ApiModelProperty("BOM排程信息对应的订单排程信息")
    private DefaultOrderSchedule orderSchedule;

    @ApiModelProperty("BOM排程信息对应的工单信息")
    private ApsWorkOrder apsWorkOrder;

    @ApiModelProperty("BOM排程信息对应的父级BOM排程信息")
    private DefaultBomSchedule parent;

    @ApiModelProperty("BOM排程信息对应的子级BOM排程信息")
    private List<DefaultBomSchedule> children;

}
